package vip.youngboy.freejump.handler.task;

import vip.youngboy.freejump.constant.TaskActionType;
import vip.youngboy.freejump.domain.FlowRequestParam;
import vip.youngboy.freejump.domain.process.Option;

import java.util.List;

/**
 * 任务处理策略接口
 */
public interface TaskActionHandler {

    /**
     * 支持的操作类型
     *
     * @return
     */
    TaskActionType supportAction();

    /**
     * 具体的处理逻辑
     */
    void handleAction(FlowRequestParam flowRequestParam);

    /**
     * 处理选项
     *
     * @return 处理选项集合
     */
    List<Option> getOptions();

}
